Interaktivnφ Üablony

PSPad od verze 3.6.1 umo₧≥uje definovat interaktivnφ Üablony.
DoporuΦuji nap°ed p°eΦφst kapitolu, v∞nujφcφ se zßklad∙m Üablon

Co to znamenß ?

èablony dosud pracovaly tak, ₧e na mφsto kurzoru se vlo₧il text, definovan² v Üablon∞ a nastavila se pozice kurzoru. Pak bylo t°eba vlo₧en² text upravit.
Nynφ mßte mo₧nost vlo₧it Üablonu vΦetn∞ zadßnφ hodnot, tak₧e v²sledek ji₧ nenφ t°eba upravovat a je to intuitivn∞jÜφ.

P°φklad vlo₧enφ HTML TAGu:
Dosud: vyvolala se Üablona, vlo₧ila se do souboru a ruΦn∞ se doplnily hodnoty, pop°. se vymazaly vlastnosti, kterΘ nebyly t°eba  
Nynφ: objevφ se formulß°, ve kterΘm si vyplnφte n∞kterΘ hodnoty a pouze ty vypln∞nΘ se vlo₧φ do textu. To je samoz°ejm∞ mo₧nΘ kombinovat se stßvajφcφmi Üablonami.  

Jak to pracuje ?
Zßkladem je definice ovlßdacφch prvk∙ v sekci [Macro definition] nejlΘpe na zaΦßtku Üablony. Tyto ovlßdacφ prvky se pak velmi snadno pou₧ijφ v Üablonßch.
A proΦ se definujφ zvlßÜ¥ na ne p°φmo v Üablonßch ? D∙vod je prost². Spousta Üablon pou₧φvß shodnΘ prvky a tak by se zbyteΦn∞ zv∞tÜil definiΦnφ soubor se Üablonami a bylo by to takΘ mΘn∞ p°ehlednΘ. A dalÜφ v²hodou je to, ₧e pokud to zm∞nφte v tΘto sekci, zm∞nili jste to vlastn∞ ve vÜech Üablonßch, kde je to pou₧ito.

VφcenßsobnΘ pou₧itφ v²sledku:

jmΘno ovlßdacφho prvku je mo₧no v definici Üablony mo₧nΘ pou₧φt vφcekrßt. V tom p°φpad∞ se v dialogu objevφ pouze jednou, ale zadan² text bude vlo₧en na vÜechna mφsta v²skytu (viz poslednφ p°φklad).

Formßt

%prvek%=@x popisek,·vodnφ_text,v²chozφ,mo₧nosti,odd∞lovaΦ,typ_dialogu 

%prvek% - toto jmΘno v definici Üablony urΦuje, kter² ovlßdacφ prvek bude pou₧it. M∙₧e obsahovat pouze znaky a Φφsla bez mezer.
@x - typ ovlßdacφho prvku (viz. dßle)
popisek - text, kter² se zobrazφ p°ed ovlßdacφm prvkem
·vodnφ_text - text, kter² bude vlo₧en do do textu p°ed zadanou hodnotou (nepovinn²)
v²chozφ - p°edvypln∞nß hodnota v ovlßdacφm prvku (nepovinn²)
mo₧nosti - tato Φßst je zßvislß na pou₧itΘm ovlßdacφm prvku (nepovinn²) (viz dßle)
odd∞lovaΦ - znak(y), kterΘ budou vlo₧eny do textu kolem hodnoty (nepovinn²)
typ_dialogu - urΦuje, jak dopadne v²sledek dialogu pro otev°enφ soubor∙ (nepovinn²)
A (absolutnφ cesta) nebo R (relativnφ cesta) a druh lomφtka. Viz definice ovlßdacφch prvk∙.  

NepovinnΘ Φßsti nenφ t°eba uvßd∞t. Pouze je t°eba dodr₧et poΦet odd∞lovacφch Φßrek. Odzadu je mo₧nΘ cokoliv vynechat.
Pokud pot°ebujete zadat n∞jakΘ specißlnφ znaky, nap°. Φßrku do v²chozφho textu nebo v²chozφ hodnoty, zav°ete hodnotu do uvozovek. Viz p°φklad 3.

P°ehled ovlßdacφch prvk∙:

@-- = Odd∞lovaΦ  
@C = Rozbalovacφ seznam (Combo box)  
@D = Dialog pro zadßnφ data  
@E = EditaΦnφ pole  
@F = Rozbalovacφ seznam pro v²b∞r pφsma  
@K = ZaÜkrtßvacφ pole (Check box)  
@L = Dialog pro v²b∞r barvy  
@O = Dialog pro otev°enφ souboru  
@P = Dialog pro otev°enφ obrßzku s nßhledem  
@S = Dialog pro v²b∞r adresß°e  
@T = EditaΦnφ pole s vyvolßnφm editoru Topstyle  

Definice ovlßdacφch prvk∙

Odd∞lovaΦ (Separator)
nemß ₧ßdnou funkΦnost, pouze zobrazφ vodorovnou Φßru
%sep%=@--

EditaΦnφ pole (Edit)
zobrazφ obyΦenΘ editaΦnφ pole pro zadßnφ obecnΘ hodnoty

%edit1%=@E ╚φslo strany:,Page ,,,-

v²sledek: Page -12-
%edit2%=@E JmΘno autora
v²sledek: Jan Fiala

Rozbalovacφ seznam (ComboBox)
zobrazφ editaΦnφ pole s rozbalovacφm seznamem
°et∞zce v seznamu jsou uvedeny v sekci
mo₧nosti a jsou odd∞leny st°ednφkem
Pokud °et∞zec obsahuje n∞co jinΘho ne₧ pouze pφsmena a Φφsla, je t°eba jednotlivΘ polo₧ky uzav°φt do uvozovek (viz druh² p°φklad)

%combo1%=@C Typ centrovßnφ:,CENTER=,left,left;right;center,"

%RGB%=@C RGB barva:,RGB=,,"255,255,255";"#FFFFFF";"FF;FF;FF";"FF FF FF","

v²sledek:
CENTER="left"

Rozbalovacφ seznam s fonty (FontBox)
zobrazφ editaΦnφ pole s rozbalovacφm seznamem, napln∞n²m nßzvy font∙, instalovan²ch v systΘmu.

%fonts%=@F Font face:,font-face=,,,"

v²sledek: font-face="Arial"

Dialog pro zadßnφ data
zobrazφ editaΦnφ pole s kalendß°em pro interktivnφ zadßnφ data

%datum%=@D Datum:,DATE=,,,"

v²sledek: DATE="12.2.2002"

ZaÜkrtßvacφ pole (CheckBox)
zobrazφ jednoduchΘ zaÜkrtßvacφ polφΦko. Pokud je zaÜkrtnuto, hodnota se v textu objevφ. Je-li cokoliv uvedeno v sekci v²chozφ, polφΦko bude na formulß°i zaÜkrtnuto

%check%=@K Bez stφnu,NoShade
vysledek: NoShade
%check%=@K Nezapomenout,PAMATUJ,,,!!!
vysledek: !!!PAMATUJ!!!

EditaΦnφ pole s dialogem pro soubor
zobrazφ editaΦnφ pole s tlaΦφtkem vpravo, kterΘ umo₧nφ v²b∞r a vlo₧enφ souboru do pole. V sekci mo₧nosti je mo₧no definovat filtr na otevφranΘ soubory. Pokud nebude maska uvedena, bude nastavena na vÜechny soubory
Nebude-li uveden typ dialogu, platφ nßsledujφcφ pravidla:
jde-li o HTML, bude nastavena relativnφ cesta a normßlnφ lomφtka  
nejednß-li se o HTML, bude nastavena absolutnφ cesta a obrßcenß lomφtka  

%file%=@O Odkaz:,href=,,html files (*.htm;*.html)|*.htm;*.html,"

v²sledek: href="project/files/soubor.htm"

%file%=@O Odkaz:,,,PAS files (*.pas)|*.pas,',A\
v²sledek: 'c:\temp\soubor.pas'

%file%=@O Odkaz:,,,C files (*.c)|*.pas,,R\\
v²sledek: project\\source\\soubor.c

EditaΦnφ pole s dialogem pro obrßzek
podobn∞ jako pole s dialogem pro soubor zobrazφ editaΦnφ pole s tlaΦφtkem na vyvolßnφ dialogu mo₧nost v²b∞ru obrßzku. Tento dialog obsahuje i nßhled obrßzku. Masku nenφ t°eba uvßd∞t. Pro typ dialogu platφ to samΘ jako pro dialog pro soubor.
Jsou-li souΦßstφ Üablony makra, obsahujφcφ v nßzvu width a height, jsou do nich dosazeny aktußlnφ rozm∞ry obrßzku
Jsou-li souΦßstφ Üablony makra, obsahujφcφ v nßzvu alt nebo title, je do nich dosazen nßzev a velikost obrßzku, pokud je obsah prßzdn²

%pict%=@P Odkaz:,SOURCE=,,,"
v²sledek: SOURCE="files\obrazek.png"

EditaΦnφ pole s dialogem pro v²b∞r adresß°e
podobn∞ jako pole s dialogem pro soubor zobrazφ editaΦnφ pole s tlaΦφtkem na vyvolßnφ dialogu pro v²b∞r adresß°e. Pro typ dialogu platφ to samΘ jako pro dialog pro v²b∞r souboru.

%pict%=@S Vytvo°enφ adresß°e:,CreateDirectory:,,,,A\
v²sledek: CreateDirectory:c:\program files\novy adresar

EditaΦnφ pole (Edit) s vyvolßnφm editoru CSS TopStyle

zobrazφ obyΦenΘ editaΦnφ pole pro zadßnφ obecnΘ hodnoty s tlaΦφtkem, kter²m je mo₧no vyvolat TopStyle editor (vφce v
menu HTML) pro editaci inline CSS

%style%=@T Styl,Style=,,,


EditaΦnφ pole s dialogem pro v²b∞r barvy
podobn∞ jako pole s dialogem pro soubor zobrazφ editaΦnφ pole s tlaΦφtkem na vyvolßnφ dialogu pro v²b∞r barvy. Pro typ dialogu platφ to samΘ jako pro dialog pro v²b∞r souboru.

%color%=@L V²b∞r barvy:,background:,,,"
v²sledek: background="#623488"



Pou₧itφ v Üablonßch - p°φklady

P°φklad 1:


[Macro definition]
%file%=@O Odkaz:,href=,,html files (*.htm;*.html)|*.htm;*.html,"
...
[ahref | jednoduch² odkaz <a href=...>...</a>]
<a %file%>|</a>

P°i vyvolßnφ Üablony se objevφ formulß° s editaΦnφm polem s mo₧nostφ v²b∞ru souboru pomocφ tlaΦφtka a do textu se vlo₧φ:
<a HREF="vybran² soubor.htm"></a>
a kurzor bude stßt mezi tagy na mφst∞ znaku "|"

P°φklad 2:


[Macro definition]
%proc%=@E JmΘno procedury:
%autor%=@E JmΘno autora:
...
[proc | zßklad procedury]
// Procedura: %proc% 
// Autor: %autor%
procedure %proc%;
begin
|
end; {procedure %proc%}

P°i vyvolßnφ Üablony se objevφ formulß° se dv∞ma editaΦnφmi poly pro zadßnφ jmΘna procedury a autora. V²sledek v textu bude vypadat:

// Procedura: UkazDialog
// Autor: Jan Fiala
procedure UkazDialog;
begin

end; 
{procedure UkazDialog}

P°φklad 3:

[Macro definition]
%Number%=@E," ,",,,

[ahref | Φφslo s Φßrkou]
%number%

P°i opakovanΘm vyvolßvßnφ Üablony se do textu bude vklßdat v₧dy Φßrka a hodnota:
 ,123, 456, 12, 5